<?php

// No direct access
defined( '_JEXEC' ) or die( 'Restricted access' );

jimport( 'joomla.application.component.model' );

class RcbaseModelMotortest extends JModel
{
	function getMotor($id=1)
	{
		$db =& JFactory::getDBO();
		$query = 'SELECT * FROM #__rcbase_motorlist WHERE id = '.$id;
		$db->setQuery( $query );
		$res = $db->loadAssoc();

		return $res;
	}

	function getTest($id=1)
	{
		$db =& JFactory::getDBO();
		$query = 'SELECT * FROM #__rcbase_motortest WHERE id = '.$id;
		$db->setQuery( $query );
		$res = $db->loadAssoc();

		return $res;
	}

	function saveTest()
	{
		$db =& JFactory::getDBO();
		$user =& JFactory::getUser();
		$motor_id  = JRequest::getInt('motor_id');
		$prop_type = JRequest::getVar('prop_type');
		$prop_d    = JRequest::getVar('prop_d');
		$prop_h    = JRequest::getVar('prop_h');
		$cells     = JRequest::getVar('cells');
		$current   = JRequest::getVar('current');
		$voltage   = JRequest::getVar('voltage');
		$power     = JRequest::getVar('power');
		for ($i=0;$i<=9;$i++)
		{
			if ($prop_d[$i] and $prop_h[$i] and $cells[$i] and $current[$i] and $power[$i])
			{
				$query = "
					INSERT INTO #__rcbase_motortest SET
						motor_id = ".$db->quote($motor_id).",
						user_id = ".$db->quote($user->id).",
						prop_type = ".$db->quote($prop_type[$i]).",
						prop_d = ".$db->quote($prop_d[$i]).",
						prop_h = ".$db->quote($prop_h[$i]).",
						cells = ".$db->quote($cells[$i]).",
						current = ".$db->quote($current[$i]).",
						voltage = ".$db->quote($voltage[$i]).",
						power = ".$db->quote($power[$i])."
				";
				$db->setQuery( $query );
				$db->query();
			}
		}
	}

	function setMotorTestRate($id, $voit){
		$db =& JFactory::getDBO();
		$user =& JFactory::getUser();
		# Гость не может голосовать по любому!
		if ($user->guest) return 'guest';
		$test = $this->getTest($id);
		# Проверяем что пользователь еще не голосовал
		if (strpos($test['rate_up'].'|'.$test['rate_down'], $user->id) === false){
			if ($voit == 'up'){ # Голосим ЗА!
				$query = "
					UPDATE #__rcbase_motortest
					SET rate_up = IF(rate_up != '',CONCAT(rate_up, '|".$user->id."'),'".$user->id."')
					WHERE id = ".$id."
				";
				$db->setQuery( $query );
				$db->query();
				return 'up';
			} else { # Голосим ПРОТИВ!
				$query = "
					UPDATE #__rcbase_motortest
					SET rate_down = IF(rate_down != '',CONCAT(rate_up, '|".$user->id."'),'".$user->id."')
					WHERE id = ".$id."
				";
				$db->setQuery( $query );
				$db->query();
				return 'down';
			}
		} else { # иначе возвращаем статус "Уже есть"
			return 'exist';
		}
	}

}